# -*- coding: utf-8 -*-
'''
    项目配置文件
'''

import os
from datetime import timedelta

# 项目根目录
basedir = os.path.abspath(os.path.dirname(__file__))
os.environ['BASE_PATH'] = basedir

class Config:
    """基础配置文件"""

    SECRET_KEY = os.urandom(24)  # session的key，使用session时必须配置，值为随机生成的字符串。
    PERMANENT_SESSION_LIFETIME = timedelta(days=1) # session的有效时间，默认的设置为一天

    SQLALCHEMY_COMMIT_ON_TEARDOWN = True  # 消除某个警告

    @staticmethod
    def init_app(app):
        pass

class TestingConfig(Config):
    """测试环境的配置"""
    DEBUG = True  # 开启调试模式

    # 配置数据库路径
    SQLALCHEMY_DATABASE_URI = 'sqlite:///' + os.path.join(basedir, 'Data', 'test.db')
    os.environ['DATABASE_URL'] = SQLALCHEMY_DATABASE_URI

class FunctionConfig(Config):
    """运行环境配置"""
    DEBUG = False # 关闭调试模式

    # 配置数据库路径
    SQLALCHEMY_DATABASE_URI = 'sqlite:///' + os.path.join(basedir, 'Data', 'data.db')
    os.environ['DATABASE_URL'] = SQLALCHEMY_DATABASE_URI

config = {
    'default' : TestingConfig, # 默认是测试环境
    'function' : FunctionConfig,
    'testing' :  TestingConfig
}

            

        
        